/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       dialog_beastmaster.h

	$Header: /game/dialog_beastmaster.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef DIALOG_BEASTMASTER_H_INCLUDED
#define DIALOG_BEASTMASTER_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <vector>
#include "bitmap_group_ptr.h"
#include "game_window.h"

class t_button;
class t_creature_select_window;
class t_creature_stack;
class t_hero;
enum  t_skill_type;
class t_stationary_adventure_object;

// ------------------------------------------------------------------
// beastmaster's hut dialog
// ------------------------------------------------------------------
class t_dialog_beastmaster : public t_window
{
public:
	t_dialog_beastmaster( std::vector<t_hero*> const& heroes, t_skill_type skill,
		                  std::string const& text, t_window* parent, t_stationary_adventure_object const& parent_object );
	std::vector<t_hero *>     get_selected_heroes() const;

protected:
	void close_clicked( t_button* button );
	void learn_clicked( t_button* button );
	void selection_change( t_creature_select_window*, t_creature_stack* );

	t_bitmap_group_ptr        m_bitmaps;
	std::vector<t_hero*>      m_heroes;
	std::vector<t_hero*>      m_learned_heroes;
	t_button*                 m_learn_button;
	t_creature_select_window* m_selection_window;
	t_skill_type              m_skill;
};

inline std::vector<t_hero*>t_dialog_beastmaster::get_selected_heroes() const
{
    return (m_learned_heroes);
}

#endif // DIALOG_BEASTMASTER_H_INCLUDED
